package com.zh.blog.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zh.blog.dto.CommentBackDto;
import com.zh.blog.dto.CommentDto;
import com.zh.blog.dto.ReplyDto;
import com.zh.blog.model.Comment;
import com.zh.blog.vo.CommentVO;
import com.zh.blog.vo.ConditionVO;
import com.zh.blog.vo.PageResult;
import com.zh.blog.vo.ReviewVO;

import java.util.List;

/**
 * 评论服务
 * @author ZhengHao
 * Created At 2022/8/12.
 **/
public interface CommentService extends IService<Comment> {
    /**
     * 后台查询评论
     * @param condition
     * @return
     */
    PageResult<CommentBackDto> listCommentBackDto(ConditionVO condition);

    /**
     * 审核评论
     * @param reviewVO
     */
    void updateCommentsReview(ReviewVO reviewVO);

    /**
     * 添加评论
     * @param commentVO 评论对象
     */
    void saveComment(CommentVO commentVO);

    /**
     * 查看评论下的回复
     * @param commentId 评论ID
     * @return 回复列表
     */
    List<ReplyDto> listRepliesByCommentId(Integer commentId);

    /**
     * 查看评论
     * @param commentVO 评论信息
     * @return 评论列表
     */
    PageResult<CommentDto> listComments(CommentVO commentVO);

    /**
     * 点赞评论
     * @param commentId 评论ID
     */
    void saveCommentLike(Integer commentId);
}